﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SharpSphinx.Util.Machlearn;

namespace SharpSphinx.Frontend
{
    public class DoubleData : OVector,  IData 
    {
        private int sampleRate;
        private long firstSampleNumber;
        private long collectTime; 




        public DoubleData(double[] values)
            : base(values)
        {
           
        }

        public DoubleData(double[] values, int sampleRate, long collectTime,long firstSampleNumber)
            : base(values)
        {
            this.sampleRate = sampleRate;
            this.collectTime = collectTime;
            this.firstSampleNumber = firstSampleNumber; 


        }

        public override string ToString()
        {
            return ("DoubleData: " + sampleRate + "Hz, First Sample #: " + firstSampleNumber
                     + ", Collect time: " + collectTime);


        }

        public int SampleRate
        {
            get
            {
                return this.sampleRate;
            }
        }

        public long FirstSampleNumber
        {
            get
            {
                return firstSampleNumber;
            }
        }

        public long CollectTime
        {
            get
            {
                return collectTime;
            }
        }

        public override DoubleData Clone()
        {
            DoubleData Data = (DoubleData)this.Clone();
            Data.sampleRate = sampleRate;
            Data.collectTime = collectTime;
            Data.firstSampleNumber = firstSampleNumber;
            return Data;
        }

    }
}
